#include <vector>
#include <list>
#include <unordered_set>
#include <iostream>

using std::cout;
using std::endl;
using std::list;
using std::vector;
using std::unordered_set;

void test0()
{
    vector<int> numbers{1, 2, 3, 4, 5};
    auto it = numbers.begin();

    //it = it + 4;
    it += 4;
    cout << "*it:" << *it << endl;
}

void test1()
{
    cout << "\ntest1() " << endl;
    list<int> numbers{1, 2, 3, 4, 5};
    auto it = numbers.begin();
    ++it;
    --it;
    //it = it + 4;
    cout << "*it:" << *it << endl;
}

void test2()
{
    unordered_set<int> numbers{1, 2, 3, 4, 5};
    auto it = numbers.begin();
    ++it;
    --it;//error

}
int main()
{
    test0();
    test1();
    return 0;
}

